The present invention relates to computer networks and more particularly to a computer network architecture that provides reduced overhead.
One common form of computer network comprises a master computer and a plurality of slave computers. The master computer is coupled to the slave computers through a multiplexer which copies outgoing messages from the master computer to each of the slave computers and ORs the messages from the individual slave computers to provide a single data stream back to the master computer. Since the slave computer messages are combined using an OR operation, the network protocol must be set up in a manner that guarantees that no more than one slave computer will attempt to communicate with the master computer at any given time.
Typically, this is accomplished using a polling protocol. In a computer network of this type, each slave computer is assigned a unique address. The master computer sends messages that are addressed either to all of the slave computers or to a specified slave computer. The slave computers communicate with the master computer only in response to a command from the master computer that enables such communication. For example, the master computer sends a message to the first slave computer instructing it to send its data to the master computer. When this slave computer has sent all of the data requested, it sends a command signaling the end of its transmission. The master computer then enables the second slave computer by sending it a command instructing it to send its data, and so on.
Protocols of this type require a substantial amount of overhead. The computer network is essentially time-shared between the sleeve computers. Each slave computer is polled in sequence, whether or not it has data to send to the master computer. Each time a save computer is polled, the master computer must first send an enabling message. Most of the time, the slave computer will have nothing to send in response, i.e., it will reply with an end of data message which requires a time approximately equal to that required by the request for data message. Hence, the request for data message can be almost 50% of the information communicated on the network.
One solution to reducing this overhead would be to provide a second communication channel for each slave computer which allowed each slave computer to listen to the communication between any selected slave computer and the master computer. This second channel would require a separate communication path to each of the slave computers, on which the transmissions from all the slave computers were repeated. If such a channel were present, the next slave computer to communicate with the master computer would only need to listen for the end of data message from the currently selected slave computer before beginning its transmission. That is, the master computer would send a single enabling message to the first slave computer. The transmission from the first computer to the master computer would be monitored by the remaining computers in the computer network. As soon as the first slave computer sent its end of data message, the second slave computer would begin transmitting its data, and so on. In this way, the overhead arising from repeatedly sending the enabling message would be eliminated.
Unfortunately, the cost of creating this second communication channel can be quite high in computer networks in which the individual computers are in widely separated geographic areas. Such computer networks often utilize the telephone lines as part of the computer network. Providing additional lines to connect each of the slave computers is economically unattractive.
Broadly, it is an object of the present invention to provide an improved computer network architecture.
It is another object of the present invention to provide a computer network in which the time spent sending enabling messages is significantly reduced without the need for a secondary communication channel consisting of a separate line to each of the slave computers.